Exchange feed for trade reporting having reduced redundancy

ABSTRACT

The disclosed embodiments relate to communication of messages from a database to participants whereby messages, or at least a portion of the content thereof, indicative of changes in the database, due to one or more transactions between two or more participants, are structured so as to reduce redundant data therein and prioritize the transmission of that portion of the message which summarizes the event and result thereof. Further, these event reporting messages may further consolidate, or otherwise be combined with, the corresponding directed reporting messages communicated to the particular participants participating in the reported transaction while preserving the anonymity of those participants to which messages are particularly directed.

REFERENCE TO RELATED APPLICATIONS

This application is a continuation under 37 C.F.R. § 1.53(b) of U.S.patent application Ser. No. 17/015,219 filed Sep. 9, 2020 now U.S. Pat.No. ______, which is a continuation of U.S. patent application Ser. No.15/992,462 filed May 30, 2018 now U.S. Pat. No. 10,803,521, which is acontinuation of U.S. patent application Ser. No. 15/617,473 filed Jun.8, 2017 now U.S. Pat. No. 10,032,221 which is a continuation of U.S.patent application Ser. No. 14/100,788 filed Dec. 9, 2013 now U.S. Pat.No. 9,697,569, the entire disclosures of which are incorporated byreference in their entirety.

U.S. patent application Ser. No. 14/100,788 is related to U.S. patentapplication Ser. No. 13/399,364 filed Feb. 17, 2012 published as U.S.Patent Application Publication No. 2013/0218739 A1, U.S. patentapplication Ser. No. 14/034,742 filed Sep. 24, 2013 published as U.S.Patent Application Publication No. 2015/0088720 A1, and U.S. patentapplication Ser. No. 14/100,887, entitled “SECURE EXCHANGE FEED MARKETDATA EMBARGO”, filed contemporaneously herewith published as U.S. PatentApplication Publication No. 2015/0088723 A1, the entire disclosures ofwhich are hereby incorporated by reference in their entirety.

BACKGROUND

A financial instrument trading system, such as a futures exchange,referred to herein also as an “Exchange”, such as the Chicago MercantileExchange Inc. (CME), provides a contract market where financialinstruments, for example futures and options on futures, are traded.Futures is a term used to designate all contracts for the purchase orsale of financial instruments or physical commodities for futuredelivery or cash settlement on a commodity futures exchange. A futurescontract is a legally binding agreement to buy or sell a commodity at aspecified price at a predetermined future time. An option is the right,but not the obligation, to sell or buy the underlying instrument (inthis case, a futures contract) at a specified price within a specifiedtime. The commodity to be delivered in fulfillment of the contract, oralternatively the commodity for which the cash market price shalldetermine the final settlement price of the futures contract, is knownas the contract's underlying reference or “underlier.” The terms andconditions of each futures contract are standardized as to thespecification of the contract's underlying reference commodity, thequality of such commodity, quantity, delivery date, and means ofcontract settlement. Cash Settlement is a method of settling a futurescontract whereby the parties effect final settlement when the contractexpires by paying/receiving the loss/gain related to the contract incash, rather than by effecting physical sale and purchase of theunderlying reference commodity at a price determined by the futurescontract, price.

Typically, the Exchange provides for a centralized “clearing house”through which all trades made must be confirmed, matched, and settledeach day until offset or delivered. The clearing house is an adjunct tothe Exchange, and may be an operating division of the Exchange, which isresponsible for settling trading accounts, clearing trades, collectingand maintaining performance bond funds, regulating delivery, andreporting trading data. The essential role of the clearing house is tomitigate credit risk. Clearing is the procedure through which theClearing House becomes buyer to each seller of a futures contract, andseller to each buyer, also referred to as a novation, and assumesresponsibility for protecting buyers and sellers from financial loss dueto breach of contract, by assuring performance on each contract. Aclearing member is a firm qualified to clear trades through the ClearingHouse.

Current financial instrument trading systems allow traders to submitorders and receive confirmations, market data, and other informationelectronically via a network. These “electronic” marketplaces are analternative to pit based trading systems whereby the traders, or theirrepresentatives, all physically stand in a designated location, i.e. atrading pit, and trade with each other via oral and hand basedcommunication. Anyone standing in or near the trading pit may be privyto the trades taking place, i.e. who is trading, what they are offeringto trade (price and quantity), and what ultimately trades. Electronictrading systems attempt to replicate the trading pit environment in amarketplace of electronic form. In doing so, electronic trading systemsideally offer an efficient, fair and balanced market where market pricesreflect a true consensus of the value of traded products among themarket participants, where the intentional or unintentional influence ofany one market participant is minimized if not eliminated, and whereunfair or inequitable advantages with respect to information access areminimized if not eliminated.

One manner in which electronic marketplaces attempt to achieve thesegoals is by equitably providing access to public market information,such as by efficiently disseminating public data, e.g. market data,prices, etc. or changes thereto, to all market participants, and byseparating and restricting the communication of private data, e.g.orders and the responses thereto, from that public information. However,as more traders place more trades, the volume of data being communicatedincreases as well, increasing the burden on the communicationinfrastructure and supporting resources that are used to generate andtransmit the communications in this manner

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts an illustrative computer network system that may be usedto implement aspects of the disclosed embodiments.

FIG. 2 a block diagram of an exemplary implementation of the system ofFIG. 1 for managing communications of financial messages.

FIG. 3 depicts a flow chart showing operation of the system of FIGS. 1and 2.

FIG. 4 shows an illustrative embodiment of a general computer system foruse with the system of FIGS. 1 and 2.

FIG. 5 depicts an exemplary message structure.

FIG. 6 depicts an exemplary message structure for use with the disclosedembodiments.

FIG. 7 depicts an exemplary financial message structured in accordancewith the message structure of FIG. 6.

DETAILED DESCRIPTION

The disclosed embodiments relate to communication of financial messagesfrom an Exchange, such as the Chicago Mercantile Exchange (“CME”), tomarket participants whereby messages, or at least a portion of thecontent thereof, indicative of changes in the market, due to one or moretrades between two or more market participants, are structured so as toreduce redundant data therein and prioritize the transmission of thatportion of the message which summarizes the event and result thereof.Further, these event reporting messages may further consolidate, orotherwise be combined with, the corresponding directed reportingmessages communicated to the particular market participantsparticipating in the reported trade while preserving the anonymity ofthose market participants to which messages are particularly directed.In this way, redundant communications, as well as redundant data, may beeliminated, reducing the overall volume of data being communicated andthe resources necessary in support thereof. In addition, inhibition ofany one market participant intentionally or unintentionally influencingthe market via exposure of their activities, or otherwise unfairlyimpinging on the exposed activities of other market participants, ismaintained. Further, the consolidated messages, or at least the portionof each which relevant to all recipients, are equitably transmitted toall market participants substantially simultaneously over the samemedium thereby minimizing or eliminating the occurrence of one marketparticipant receiving market information ahead of the other marketparticipants. It will be appreciated that the messages described hereinmay be received simultaneously by market participants, or temporally soclose together as to be considered or perceived as being simultaneouslyreceived, for example. the difference in their time of receipt is tooclose to measure or otherwise discriminate among, also referred to as“substantially simultaneously”.

While the disclosed embodiments may be discussed in relation to futuresand/or options on futures trading, it will be appreciated that thedisclosed embodiments may be applicable to any equity, options orfutures trading system or market now available or later developed. Itwill be appreciated that a trading environment, such as a futuresexchange as described herein, implements one or more economic marketswhere rights and obligations may be traded. As such, a tradingenvironment may be characterized by a need to maintain market integrity,transparency, predictability, fair/equitable access and participantexpectations with respect thereto. For example, an exchange must respondto inputs, such as trader orders, cancellation, etc., in a manner asexpected by the market participants, such as based on market data, e.g.prices, available counter-orders, etc., to provide an expected level ofcertainty that transactions will occur in a consistent and predictablemanner. In addition, it will be appreciated that electronic tradingsystems further impose additional expectations and demands by marketparticipants as to transaction processing speed, latency, capacity andresponse time, while creating additional complexities relating thereto.Accordingly, as will be described, the disclosed embodiments may furtherinclude functionality to ensure that the expectations of marketparticipant are met, e.g. that predictable system responses aremaintained.

As used herein, a financial message refers both to messages communicatedby market participants to an electronic trading system and vice versa.Financial messages communicated to the electronic trading system, alsoreferred to as “inbound” messages, may include request or ordermessages, such as trader orders, order modifications, ordercancellations and the like, as well as other message types. Financialmessages communicated from the electronic trading system, referred to as“outbound” messages, may include messages responsive to inboundmessages, such as confirmation or acknowledgment messages, or othermessages such as market update messages, quote messages, and the like.

Financial messages may further be categorized as having or reflecting animpact on a market or electronic marketplace, also referred to as an“order book” or “book,” for a traded product, such as a prevailing pricetherefore, number of resting orders at various price levels andquantities thereof, etc., or not having or reflecting an impact on amarket or a subset or portion thereof. For example a request to place atrade may result in a response indicative of the trade either beingmatched with, or being rested on an order book to await, a suitablecounter-order. This response may include a message directed solely tothe trader who submitted to the order to acknowledge receipt of theorder and report whether it was matched, and the extent thereto, orrested. The response may further include a message to all marketparticipants reporting a change in the order book due to the order. Thisresponse may take the form of a report of the specific change to theorder book, e.g. an order for quantity X at price Y was added to thebook (referred to as a Market By Order message), or may simply reportthe result, e.g. price level Y is now has 5 orders for a total quantityif Z (where Z is the sum of the previous resting quantity plus quantityX of the new order) (referred to as a Market By Price message). In somecases, requests may elicit a non-impacting response, such as temporallyproximate to the receipt of the request and then cause a separatemarket-impact reflecting response at a later time. For example, a stoporder, fill or kill order, aka an immediate or cancel order, or otherconditional request may not have an immediate market impacting effect,if at all, until the requisite conditions are met. Accordingly, anacknowledgement or confirmation of receipt, e.g. a non-market impactingcommunication, may be sent to the trader simply confirming that theorder was received. Upon the conditions being met and a market impactingresult thereof occurring, a market-impacting message may be transmittedas described herein both directly back to the submitting marketparticipant and to all market participants (in a Market By Price “MBP”or Market By Order “MBO” format). It will be appreciated that additionalconditions may be specified, such as a time or price limit, which maycause the order to be dropped or otherwise canceled and that such anevent may result in another non-market-impacting communication instead.As will be described below, in some implementations market impactingcommunications may be communicated separately from non-market impactingcommunications, such as via a separate communications channel or feed.It will be further appreciated that various types of market data feedsmay be provided which reflect different market or aspects thereof.Market participants may then, for example, subscribe to receive thosefeeds of interest to them. As market impacting communications tend to bemore important to market participants then non impacting communications,this separation may reduce congestion and or noise among thosecommunications having or reflecting an impact on a market or portionthereof. Furthermore, a particular market data feed may only communicateinformation related to the top buy/sell prices for a particular product,referred to as “top of book” feed, e.g. only changes to the top 10 pricelevels are communicated. Such limitations may be implemented to reduceconsumption of bandwidth and message generation resources. In this case,while a request message may be considered market-impacting if it affectsa price level other than the top buy/sell prices, it will not result ina message being sent to the market participants. Generally, thedisclosed embodiments relate to a restructuring of response messagesreflecting market impacting events to reduce redundant data and conveymore relevant information about the event to all market participantssooner than less relevant information so that the market participantsmay comprehend the event more quickly. Furthermore, the disclosedembodiments relate to consolidation of the communication of marketimpact reflecting response messages, e.g. responsive to inboundmessages, with other market impact reflecting messages as will bedescribed. In other implementations, these communications may or may notbe further consolidated with non-market impacting messages.

Examples of the various types of market data feeds which may be providedby electronic trading systems, such as the CME, in order to providedifferent types or subsets of market information or to provide suchinformation in different formats include Market By Order, Market Depth(aka Market by Price to a designated depth of the book), e.g. CME offersa 10-deep market by price feed, Top of Book (a single depth Market byPrice feed), and combinations thereof. There may also be all manner ofspecialized feeds in terms of the content, i.e. providing, for example,derived data, such as a calculated index).

Market data feeds may be characterized as providing a “view” or“overview” of a given market, an aggregation or a portion thereof orchanges thereto. For example, a market data feed, referred to as aMarket By Price (“MBP”) feed, may convey, with each message, theentire/current state of a market, or portion thereof, for a particularproduct as a result of one or more market impacting events. For example,an MBP message may convey a total quantity of resting buy/sell orders ata particular price level in response to a new order being placed at thatprice. An MBP message may convey a quantity of an instrument which wastraded in response to an incoming order being matched with one or moreresting orders. MBP messages may only be generated for events affectinga portion of a market, e.g. only the top 10 resting buy/sell orders and,thereby, only provide a view of that portion. As used herein, a marketimpacting request may be said to impact the “view” of the market aspresented via the market data feed. An MBP feed may utilize differentmessage formats for conveying different types of market impactingevents. For example, when a new order is rested on the order book, anMBP message may reflect the current state of the price level to whichthe order was added, e.g. the new aggregate quantity and the newaggregate number of resting orders. As can be seen, such a messageconveys no information about the resting orders, including the newlyrested order, themselves to the market participants. Only the submittingmarket participant, who receives a separate private messageacknowledging the event, knows that it was their order that was added tothe book. Similarly, when a trade occurs, an MBP message may be sentwhich conveys the price at which the instrument was traded, the quantitytraded and the number of participating orders, but may convey noinformation as to whose particular orders contributed to the trade. MBPfeeds may further batch reporting of multiple events, i.e. report theresult of multiple market impacting events in a single message.

Alternatively, a market data feed, referred to as a Market By Order(“MBO”) feed, may convey data reflecting a change that occurred to theorder book rather than the result of that change, e.g. that order ABCfor quantity X was added to price level Y or that order ABC and orderXYZ traded a quantity X at a price Y. In this case, the MBO messageidentifies only the change that occurred so a market participant wishingto know the current state of the order book must maintain their own copyand apply the change reflected in the message to know the current state.As can be seen, MBO messages carry much more data because they reflectany market impacting change. Furthermore, because specific orders, butnot the submitting traders thereof, are identified, other marketparticipants may be able to follow that order as it progresses throughthe market, e.g. as it is modified, canceled, traded, etc.

It will be appreciated that number, type and manner of market data feedsprovided by an electronic trading system are implementation dependentand may vary depending upon the types of products traded by theelectronic trading system, customer/trader preferences, bandwidth anddata processing limitations, etc. and that all such feeds, now availableor later developed, are contemplated herein. As such, MBP and MBO feedsmay refer to categories/variations of market data feeds, distinguishedby whether they provide an indication of the current state of a marketresulting from a market impacting event (MBP) or an indication of thechange in the current state of a market due to a market impacting event(MBO).

Messages, whether MBO or MBP, generated responsive to market impactingevents which are caused by a single order, such as a new order, an ordercancelation, an order modification, etc., are fairly simple and compactand easily created and transmitted. However, messages, whether MBO orMBP, generated response to market impacting events which are caused bymore than one order, such as a trade, may require the transmission of asignificant amount of data to convey the requisite information to themarket participants. For trades involving a large number of orders, e.g.a buy order for a quantity of 5000 which matches 5000 sell orders eachfor a quantity of 1, a significant amount of information may need to besent, e.g. data indicative of each of the 5000 trades that haveparticipated in the market impacting event.

Referring to FIG. 5, there is shown a message format for an MBP messagefor reporting a trade. The format calls for a header portion 502 and aset of nine trade data fields 504, each set accounting for 30 bytes. Theheader portion 502 include a message type (“MSG Type”), TransactionTime, Match Event Indicator, and Number of Market Data Entries (“No. MDEntries”) fields. The trade data fields 504 include a Market Data UpdateAction indicator (“MD Update Action”), a Market Data Entry Typeindicator (“MD Entry Type”), an identifier of the instrument/security(“Security ID”) being transacted, a Report Sequence identifier (“RptSeq”), the price associated with the transaction (“MD entry Px”), thequantity transacted (“MS Entry Size”), the number of orders involved inthe trade (“Number of Order”), a trade identifier (“Trade ID”), and anidentifier of the aggressor side (“Aggressor Side”). The nine trade datafields 504 are included for each participating trade so, for the exampleabove, there would be 5000 sets of these nine fields, each with data forone of the 5000 participating trades, or 150,000 bytes. Since all ofthis data may exceed the capacity of data packet used to convey messagesover a network, the MBP message may need to be split into multiplepackets separately transmitted via the network to the marketparticipants. For a recipient market participant to be able tocomprehend the market impacting event which occurred, they would have towait to receive all of the packets which comprise the message which mayimpart delay on the ability of that market participant to respond to theevent, especially in a volatile market.

Furthermore, each participating trader needs to receive a notificationthat their particular order has traded. Continuing with the example,this would require sending 5001 individual trade notification messagesin addition to the notification sent to all of the market participants.

The disclosed embodiments recognize that trade notifications sent to allmarket participants may include redundant information repeated for eachparticipating trade. Referring to FIG. 6, there is shown a structure 600of an MBP trade notification message which results in a more efficientcommunication of the occurrence of a trade. The message structure 600includes a header portion which indicates the type of transaction whichoccurred, i.e. a trade, as well as other general information about theevent, an instrument portion which comprises data about each instrumentwhich was traded as part of the transaction, and an order portion whichcomprises data about each participating order. In one embodiment, theheader portion 602 includes a message type (“MSG Type”), TransactionTime, Match Event Indicator, and Number of Market Data Entries (“No. MDEntries”) fields. The instrument portion 604 include a market dataupdate action indicator (“MD Update Action”), an indication of theMarket Data Entry Type (“MD Entry Type”), an identifier of theinstrument/security involved in the transaction (“Security ID”), areport sequence indicator (“Rpt Seq”), the price at which the instrumentwas traded (“MD Entry PX”), the aggregate quantity traded at theindicated price (“ConsTradeQty”), the number of participating orders(“NumberOfOrders”), and an identifier of the aggressor side (“AggressorSide”) fields. The order portion 606 includes, in one embodiment, anidentifier of the participating order (“Order ID”), and the quantity ofthe order traded (“MD Entry Size”) fields. It will be appreciated thatthe particular fields included in each portion are implementationdependent and that different fields in addition to, or in lieu of, thoselisted may be included depending upon the implementation. It will beappreciated that the exemplary fields are compliant with the FIX binaryand/or FIX/FAST protocol for the communication of the financialinformation.

The instrument portion contains a set of fields, e.g. seven fieldsaccounting for 23 bytes, which are repeated for each participatinginstrument. In complex trades, such as trades involving combinationorders or strategies, e.g. spreads, or implied trades, there may bemultiple instruments being exchanged among the parties. In oneembodiment, the order portion includes only one field, accounting for 4bytes, for each participating order which indicates the quantity of thatorder which was traded. As will be discussed below, the order portionmay further include an identifier of each order, accounting for anadditional 8 bytes, in addition to the quantity thereof traded. As willbe appreciated, data which would have been repeated for eachparticipating order, is consolidated or otherwise summarized in theheader and instrument portions of the message thereby eliminatingredundant information and, overall, significantly reducing the size ofthe message.

For example, for a simple trade of a single instrument as the result ofa single buy order and single sell order, the message structure 500 ofFIG. 5 would require 18 fields of data (not including the header) or 60bytes whereas the message structure 600 of FIG. 6, according to oneembodiment without order ID, would require 10 fields of data (notincluding the header) for a total of 31 bytes. Assuming the buy orderwas for quantity 100 and was matched to 100 sell orders each forquantity 1, the message structure 500 of FIG. 5 would require 909 fieldsof data (27,270 bytes) whereas the message structure 600 of FIG. 6 wouldrequire 109 fields of data (426 bytes without order ID, 1235 bytes withorder id). With respect to the message structure 500 of FIG. 5, in oneimplementation only 46 repeating fields sets 504 would fit in a singledata packet necessitating the transmission of over 20 data packets toconvey the entire message. With respect to the message structure 600 ofFIG. 6, in one implementation, 62 repeating fields sets for theinstrument portion 604 and 116 repeating field sets for the orderportion 606 may fit within a data packet allowing the entire exemplarymessage to be sent in a single data packet.

As shown in FIGS. 5 and 6, the field length is the length of the datafield in number of bytes. A field length of 0 indicates that neither thefield nor any data therefore is actually transmitted but per thecommunications protocol, e.g. FIX binary or FIX/FAST, is assumed by boththe sender and receiver to be present and have a particular value perthe communications protocol. For convenience, the foregoing examples,compared the amount of transmitted data for each message structure basedon the number of fields of data transmitted and assuming all fields weretransmitted. However, the byte counts reflect that some fields are notactually transmitted.

In an alternative embodiment, the message structure 600 of FIG. 6 mayfurther include an order identifier for each order listed in the orderportion 606. In one embodiment the order identifier is a host ordernumber (“HON”) but it will be appreciated that the identifier may be anyidentifier which uniquely identifies the order. By providing the orderidentifier in the MBP message, the participating traders may be notifiedthat it was their orders which were filled. This would eliminate theneed for separately transmitted acknowledgment messages transmitted toeach participating trader, greatly reducing the bandwidth of privatelytransmitted data. As only the participating trader would recognize theorder identifier, anonymity is effectively preserved. Furthermore, inimplementations using only MBP data feeds, the ability of other marketparticipants to follow the progress of orders using the order identifieris greatly diminished as the data presented in the exemplary MBP messagestructure only conveys a portion of the progress of the particularorder, e.g. the particular quantity which actually traded but not thequantity of the original order or any modifications thereto, etc.

It will be appreciated that adding the order identifier to the messagestructure 500 of FIG. 5 may introduce a disparity in the disseminationof trade information for large trades requiring a multi-data packetmessage by allowing participating traders whose orders are indicated inan earlier transmitted packet to learn of their participation soonerthan a trader whose orders are indicated in a later transmitted packet.The message structure 600 of FIG. 6 mitigates this problem by reducingthe number of packets which may be required to send a given message andthereby compressing the gap between individual trader notifications. Inan alternative embodiment, the content of each message packet may beencrypted with the last message packet including the key for decryptingthe previously sent packets of the message. This would effectivelyprevent the recipients from viewing the message content until allpackets have been received, effectively normalizing the availability ofthe message content among all of the recipients. More information aboutthis implementation may be found in U.S. patent application Ser. No.14/100,887, filed contemporaneously herewith (Attorney Docket No.4672/13009BUS) now U.S. Patent Application Publication No. 2015/0088723,the entire disclosure of which is hereby incorporated by reference.

While the disclosed embodiments will be discussed with respect to an MBPmarket data feed, it will be appreciated that the disclosed embodimentsmay also be applicable to an MBO market data feed.

An exemplary financial message in accordance with the message structure600 of FIG. 6 is shown in FIG. 7.

In accordance with aspects of the disclosure, systems and methods aredisclosed for generating financial messages in accordance therewith Thedisclosed embodiments are preferably implemented with computer devicesand computer networks, such as those described with respect FIG. 4, thatallow users, e.g. market participants, to exchange trading information.It will be appreciated that the plurality of entities utilizing thedisclosed embodiments, e.g. the market participants, may be referred toby other nomenclature reflecting the role that the particular entity isperforming with respect to the disclosed embodiments and that a givenentity may perform more than one role depending upon the implementationand the nature of the particular transaction being undertaken, as wellas the entity's contractual and/or legal relationship with anothermarket participant and/or the exchange. An exemplary trading networkenvironment for implementing trading systems and methods is shown inFIG. 1. An exchange computer system 100 receives orders and transmitsmarket data related to orders and trades to users, such as via wide areanetwork 126 and/or local area network 124 and computer devices 114, 116,118, 120 and 122, as will be described below, coupled with the exchangecomputer system 100.

Herein, the phrase “coupled with” is defined to mean directly connectedto or indirectly connected through one or more intermediate components.Such intermediate components may include both hardware and softwarebased components. Further, to clarify the use in the pending claims andto hereby provide notice to the public, the phrases “at least one of<A>, <B>, . . . and <N>” or “at least one of <A>, <B>, . . . <N>, orcombinations thereof” are defined by the Applicant in the broadestsense, superseding any other implied definitions herebefore orhereinafter unless expressly asserted by the Applicant to the contrary,to mean one or more elements selected from the group comprising A, B, .. . and N, that is to say, any combination of one or more of theelements A, B, . . . or N including any one element alone or incombination with one or more of the other elements which may alsoinclude, in combination, additional elements not listed.

The exchange computer system 100 may be implemented with one or moremainframe, desktop or other computers, such as the computer 400described below with respect to FIG. 4. A user database 102 may beprovided which includes information identifying traders and other usersof exchange computer system 100, such as account numbers or identifiers,user names and passwords. An account data module 104 may be providedwhich may process account information that may be used during trades. Amatch engine module 106 may be included to match bid and offer pricesand may be implemented with software that executes one or morealgorithms for matching bids and offers. A trade database 108 may beincluded to store information identifying trades and descriptions oftrades. In particular, a trade database may store informationidentifying the time that a trade took place and the contract price. Anorder book module 110 may be included to compute or otherwise determinecurrent bid and offer prices. A market data module 112 may be includedto collect market data and prepare the data for transmission to users. Arisk management module 134 may be included to compute and determine auser's risk utilization in relation to the user's defined riskthresholds. An order processing module 136 may be included to decomposedelta based and bulk order types for processing by the order book module110 and/or match engine module 106. A volume control module 140 may beincluded to, among other things, control the rate of acceptance of massquote messages in accordance with one or more aspects of the disclosedembodiments. It will be appreciated that concurrent processing limitsmay be defined by or imposed separately or in combination, as wasdescribed above, on one or more of the trading system components,including the user database 102, the account data module 104, the matchengine module 106, the trade database 108, the order book module 110,the market data module 112, the risk management module 134, the orderprocessing module 136, or other component of the exchange computersystem 100.

The trading network environment shown in FIG. 1 includes exemplarycomputer devices 114, 116, 118, 120 and 122 which depict differentexemplary methods or media by which a computer device may be coupledwith the exchange computer system 100 or by which a user maycommunicate, e.g. send and receive, trade or other informationtherewith. It will be appreciated that the types of computer devicesdeployed by traders and the methods and media by which they communicatewith the exchange computer system 100 is implementation dependent andmay vary and that not all of the depicted computer devices and/ormeans/media of communication may be used and that other computer devicesand/or means/media of communications, now available or later developedmay be used. Each computer device, which may comprise a computer 400described in more detail below with respect to FIG. 4, may include acentral processor that controls the overall operation of the computerand a system bus that connects the central processor to one or moreconventional components, such as a network card or modem. Each computerdevice may also include a variety of interface units and drives forreading and writing data or files and communicating with other computerdevices and with the exchange computer system 100. Depending on the typeof computer device, a user can interact with the computer with akeyboard, pointing device, microphone, pen device or other input devicenow available or later developed.

An exemplary computer device 114 is shown directly connected to exchangecomputer system 100, such as via a T1 line, a common local area network(LAN) or other wired and/or wireless medium for connecting computerdevices, such as the network 420 shown in FIG. 4 and described belowwith respect thereto. The exemplary computer device 114 is further shownconnected to a radio 132. The user of radio 132, which may include acellular telephone, smart phone, or other wireless proprietary and/ornon-proprietary device, may be a trader or exchange employee. The radiouser may transmit orders or other information to the exemplary computerdevice 114 or a user thereof. The user of the exemplary computer device114, or the exemplary computer device 114 alone and/or autonomously, maythen transmit the trade or other information to the exchange computersystem 100.

Exemplary computer devices 116 and 118 are coupled with a local areanetwork (“LAN”) 124 which may be configured in one or more of thewell-known LAN topologies, e.g. star, daisy chain, etc., and may use avariety of different protocols, such as Ethernet, TCP/IP, etc. Theexemplary computer devices 116 and 118 may communicate with each otherand with other computer and other devices which are coupled with the LAN124. Computer and other devices may be coupled with the LAN 124 viatwisted pair wires, coaxial cable, fiber optics or other wired orwireless media. As shown in FIG. 1, an exemplary wireless personaldigital assistant device (“PDA”) 122, such as a mobile telephone, tabletbased compute device, or other wireless device, may communicate with theLAN 124 and/or the Internet 126 via radio waves, such as via WiFi,Bluetooth and/or a cellular telephone based data communicationsprotocol. PDA 122 may also communicate with exchange computer system 100via a conventional wireless hub 128.

FIG. 1 also shows the LAN 124 coupled with a wide area network (“WAN”)126 which may be comprised of one or more public or private wired orwireless networks. In one embodiment, the WAN 126 includes the Internet126. The LAN 124 may include a router to connect LAN 124 to the Internet126. Exemplary computer device 120 is shown coupled directly to theInternet 126, such as via a modem, DSL line, satellite dish or any otherdevice for connecting a computer device to the Internet 126 via aservice provider therefore as is known. LAN 124 and/or WAN 126 may bethe same as the network 420 shown in FIG. 4 and described below withrespect thereto.

As was described above, the users of the exchange computer system 100may include one or more market makers 130 which may maintain a market byproviding constant bid and offer prices for a derivative or security tothe exchange computer system 100, such as via one of the exemplarycomputer devices depicted. The exchange computer system 100 may alsoexchange information with other trade engines, such as trade engine 138.One skilled in the art will appreciate that numerous additionalcomputers and systems may be coupled to exchange computer system 100.Such computers and systems may include clearing, regulatory and feesystems.

The operations of computer devices and systems shown in FIG. 1 may becontrolled by computer-executable instructions stored on anon-transitory computer-readable medium. For example, the exemplarycomputer device 116 may include computer-executable instructions forreceiving order information from a user and transmitting that orderinformation to exchange computer system 100. In another example, theexemplary computer device 118 may include computer-executableinstructions for receiving market data from exchange computer system 100and displaying that information to a user.

Of course, numerous additional servers, computers, handheld devices,personal digital assistants, telephones and other devices may also beconnected to exchange computer system 100. Moreover, one skilled in theart will appreciate that the topology shown in FIG. 1 is merely anexample and that the components shown in FIG. 1 may include othercomponents not shown and be connected by numerous alternativetopologies.

As shown in FIG. 1, the Exchange computer system 100 includes a marketdata module 112 which may implement the disclosed mechanisms as will bedescribe with reference to FIG. 2. However, as was discussed above, thedisclosed mechanisms may be implemented at any logical and/or physicalpoint(s) through which the relevant message traffic, and responsesthereto, flows or is otherwise accessible, including one or more gatewaydevices, modems, the computers or terminals of one or more traders, etc.

FIG. 2 depicts a block diagram of a market data module 112 according toone embodiment, which in an exemplary implementation, is implemented aspart of the exchange computer system 100 described above. As usedherein, an exchange 100 includes a place or system that receives and/orexecutes orders. In particular, FIG. 2 shows a system 200 for efficientmanagement of reporting or otherwise communication, such as via anetwork 214, to a plurality of market participant of data indicative ofa change in state of an electronic marketplace, e.g. an order book, forone or more financial products. The reporting/communications may be inthe form of one or more financial messages communicated to the pluralityof market participants via the network 214 which, as described above,may be the network 420 described below or network 124 or 126 describedabove, which may be implemented as a market data module 112 as describedabove. It will be appreciated that the disclosed embodiments may beapplicable to other types of messages depending upon the implementation.Further, the messages may comprise one or more data packets, datagramsor other collection of data formatted, arranged configured and/orpackaged in a particular one or more protocols, e.g. the FIX protocol,TCP/IP, Ethernet, etc., suitable for transmission via a network 214 aswas described, such as the message format and/or protocols described inU.S. Pat. No. 7,831,491 and U.S. Patent Publication No. 2005/0096999 A1,both of which are incorporated by reference herein in their entirety.Further, the disclosed messages may be delivered by an open messagestandard implementation, such as FIX or FIX/FAST, or by anExchange-provided API.

The system 200 includes a processor 202 and a memory 204 coupledtherewith which may be implemented a processor 402 and memory 404 asdescribed below with respect to FIG. 4. The system 200 further includesa transaction processor which may be implemented as a separate hardwarecomponent or as first logic 206 stored in the memory 204 and executableby the processor 202 to cause the processor 202 to determine, such as bycommunicating with a match engine 106, that one or more attempts tomatch one or more incoming orders received from one or more of theplurality of market participants, each of which may specify a side (buyor sell), quantity, price and instrument, for at least one transactionfor the one or more financial products with at least one previouslyreceived but unsatisfied order for a transaction counter theretoresulted, i.e. traded, in at least partial satisfaction, i.e., fill orpartial fill, of one or both of the incoming order or the at least oneother previously received order.

The system 200 further includes a message generator coupled with thetransaction processor, which may be implemented as second logic 208stored in the memory 204 and executable by the processor 202 to causethe processor to generate, based on the determination that one or bothof the incoming order(s) or the at least one other previously receivedorder were at least partially satisfied, a reporting message comprisinga first portion 604 and a second portion 606, wherein the first portion604 comprises first data identifying each of the one or more financialproducts transacted, i.e. the participating or contributing trades, as aresult of the at least partial satisfaction of one or both of theincoming order or the at least one previously received but unsatisfiedorder, and the second portion 606 comprises second data enumerating eachof the incoming order and at least one previously received butunsatisfied orders that were at least partially satisfied, wherein themessage generator may further be comprised of third logic 210 stored inthe memory 204 and executable by the processor 202 to cause theprocessor 202 to cause the first portion 604 to be communicated to theplurality of market participants prior to the second portion 606. In oneembodiment, the reporting message may be communicated, i.e. to theplurality of market participants, via one or more transmissions, e.g.data packets.

As was described above, redundant data regarding each participatingorder is non-redundantly provided in first portion 604 which reduces theoverall message size and, via the provisioning of this portion prior tothe second portion, may ensure that receiving market participantsacquire this information sooner. In one embodiment, the first and secondportions 604 606 may be structured, i.e. include data fields, asdepicted in FIG. 6. However, it will be appreciated that the particularfields of data included in each portion 604 606 are implementationdependent and may vary based thereon.

In one embodiment, the transaction processor/first logic 206 may befurther operative to determine a resultant state of the electronicmarketplace due to the at least partial satisfaction of one or both ofthe incoming order or at least one previous received but unsatisfiedorder, wherein the first portion 604 of the reporting message furthercomprises data indicative of the determined resultant state. Forexample, the reporting message may be of the MBP format.

In one embodiment, the transaction processor/first logic 206 may befurther operative to determine a change in the state of the electronicmarketplace due to the at least partial satisfaction of one or both ofthe incoming order or at least one previous received but unsatisfiedorder, wherein the first portion further comprises data indicative ofthe determined change. For example, the reporting message may be of theMBO format.

In one embodiment, the first data may further indicate aggregatetransacted quantity and transaction price of each of the one or morefinancial products transacted as a result of the at least partialsatisfaction of one or both of the incoming order or the at least onepreviously received but unsatisfied order.

In one embodiment, the second data further indicate a quantity of eachof the incoming order and at least one previously received butunsatisfied orders that was satisfied. Further, the second data mayexclude any information regarding the original order quantity orpre-trade modifications such that only the submitting trader mayappreciate the progress of the order and the extent to which it has beentraded/filled.

In one embodiment, the second data may further identify, such as byusing an HON or order-unique identifier, each of the incoming order andat least one previously received but unsatisfied orders that were atleast partially satisfied such that a submitting market participantthereof may determine that their order has been at least partiallysatisfied. Further, in this embodiment, the system 200 may be furtheroperative to not transmit a message acknowledging the at least partialsatisfaction of an order solely to the submitting market participantthereof.

In one embodiment, the first data includes order data related to one ormore of the enumerated incoming order and at least one previouslyreceived but unsatisfied orders that were at least partially satisfied,the order data not being included in the second data. In this manner,redundant data is removed to reduce the overall message size as wasdescribed above

In one embodiment, upon receipt of at least the first portion of thereporting message, a receiving market participant may comprehend theentire change in state of the electronic marketplace due to the at leastpartial satisfaction of one or both of the incoming order or the atleast one other previously received order.

In one embodiment, the reporting message may further include a thirdportion 602 comprising third data operative to distinguish the reportingmessage from other messages indicative of market events other than theat least partial satisfaction of one or both of an incoming order or atleast one other previously received order, the third portion beingcommunicated prior to the first portion.

FIG. 3 depicts a flow chart showing operation of the system 200 of FIG.2. In particular FIG. 3 shows a computer implemented method forefficiently managing reporting to a plurality of market participants ofdata indicative of a change in state of an electronic marketplace, e.g.an order book, for one or more financial products.

The operation of the system 200 includes determining, by a processor202, such as based on the output of one or more match engines 106, thatat least one attempt to match at least one incoming order received fromone or more of the plurality of market participants, specifying side(buy/sell), quantity, price and instrument, for at least one transactionfor the one or more financial products with at least one previouslyreceived but unsatisfied order for a transaction counter theretoresulted in at least partial satisfaction of one or both of the incomingorder or the at least one other previously received order, e.g. traded(Block 310).

The operation of the system 200 further includes generating, by theprocessor 202 based on the determination that one or both of theincoming order(s) or the at least one other previously received orderwere at least partially satisfied, a reporting message comprising afirst portion 604 and a second portion 606, wherein the first portion604 comprises first data identifying each of the one or more financialproducts transacted, e.g. the participating/contributing trades, as aresult of the at least partial satisfaction of one or both of theincoming order or the at least one previously received but unsatisfiedorder, and the second portion 606 comprises second data enumerating eachof the incoming order and at least one previously received butunsatisfied orders that were at least partially satisfied (Block 312).

The operation of the system 200 further includes causing, by theprocessor 202, the first portion 604 to be communicated to the pluralityof market participants prior to the second portion 606, e.g. in one ormore transmissions, i.e. one or more data packets (Block 314).

In one embodiment, the operation of the system 200 further includesdetermining, by the processor, a resultant state of the electronicmarketplace due to the at least partial satisfaction of one or both ofthe incoming order or at least one previous received but unsatisfiedorder, wherein the first portion 604 further comprises data indicativeof the determined resultant state, e.g. the reporting message is of theMBP format (Block 316).

In one embodiment, the operation of the system 200 further includesdetermining, by the processor, a change in the state of the electronicmarketplace due to the at least partial satisfaction of one or both ofthe incoming order or at least one previous received but unsatisfiedorder, wherein the first portion 604 further comprises data indicativeof the determined change, e.g. the reporting message is of the MBPformat (Block 318).

In one embodiment, the first data further indicates aggregate transactedquantity and transaction price of each of the one or more financialproducts transacted as a result of the at least partial satisfaction ofone or both of the incoming order or the at least one previouslyreceived but unsatisfied order.

In one embodiment, the first data may further indicate aggregatetransacted quantity and transaction price of each of the one or morefinancial products transacted as a result of the at least partialsatisfaction of one or both of the incoming order or the at least onepreviously received but unsatisfied order.

In one embodiment, the second data further indicate a quantity of eachof the incoming order and at least one previously received butunsatisfied orders that was satisfied. Further, the second data mayexclude any information regarding the original order quantity orpre-trade modifications such that only the submitting trader mayappreciate the progress of the order and the extent to which it has beentraded/filled.

In one embodiment, the second data may further identify, such as byusing an HON or order-unique identifier, each of the incoming order andat least one previously received but unsatisfied orders that were atleast partially satisfied such that a submitting market participantthereof may determine that their order has been at least partiallysatisfied. Further, in this embodiment, the system 200 may be furtheroperative to not transmit a message acknowledging the at least partialsatisfaction of an order solely to the submitting market participantthereof.

In one embodiment, the first data includes order data related to one ormore of the enumerated incoming order and at least one previouslyreceived but unsatisfied orders that were at least partially satisfied,the order data not being included in the second data. In this manner,redundant data is removed to reduce the overall message size as wasdescribed above

In one embodiment, upon receipt of at least the first portion of thereporting message, a receiving market participant may comprehend theentire change in state of the electronic marketplace due to the at leastpartial satisfaction of one or both of the incoming order or the atleast one other previously received order.

In one embodiment, the reporting message may further include a thirdportion 602 comprising third data operative to distinguish the reportingmessage from other messages indicative of market events other than theat least partial satisfaction of one or both of an incoming order or atleast one other previously received order, the third portion beingcommunicated prior to the first portion.

One skilled in the art will appreciate that one or more modulesdescribed herein may be implemented using, among other things, atangible computer-readable medium comprising computer-executableinstructions (e.g., executable software code). Alternatively, modulesmay be implemented as software code, firmware code, hardware, and/or acombination of the aforementioned. For example the modules may beembodied as part of an exchange 100 for financial instruments.

Referring to FIG. 4, an illustrative embodiment of a general computersystem 400 is shown. The computer system 400 can include a set ofinstructions that can be executed to cause the computer system 400 toperform any one or more of the methods or computer based functionsdisclosed herein. The computer system 400 may operate as a standalonedevice or may be connected, e.g., using a network, to other computersystems or peripheral devices. Any of the components discussed above,such as the processor 202, may be a computer system 400 or a componentin the computer system 400. The computer system 400 may implement amatch engine, margin processing, payment or clearing function on behalfof an exchange, such as the Chicago Mercantile Exchange, of which thedisclosed embodiments are a component thereof.

In a networked deployment, the computer system 400 may operate in thecapacity of a server or as a client user computer in a client-serveruser network environment, or as a peer computer system in a peer-to-peer(or distributed) network environment. The computer system 400 can alsobe implemented as or incorporated into various devices, such as apersonal computer (PC), a tablet PC, a set-top box (STB), a personaldigital assistant (PDA), a mobile device, a palmtop computer, a laptopcomputer, a desktop computer, a communications device, a wirelesstelephone, a land-line telephone, a control system, a camera, a scanner,a facsimile machine, a printer, a pager, a personal trusted device, aweb appliance, a network router, switch or bridge, or any other machinecapable of executing a set of instructions (sequential or otherwise)that specify actions to be taken by that machine. In a particularembodiment, the computer system 400 can be implemented using electronicdevices that provide voice, video or data communication. Further, whilea single computer system 400 is illustrated, the term “system” shallalso be taken to include any collection of systems or sub-systems thatindividually or jointly execute a set, or multiple sets, of instructionsto perform one or more computer functions.

As illustrated in FIG. 4, the computer system 400 may include aprocessor 402, e.g., a central processing unit (CPU), a graphicsprocessing unit (GPU), or both. The processor 402 may be a component ina variety of systems. For example, the processor 402 may be part of astandard personal computer or a workstation. The processor 402 may beone or more general processors, digital signal processors, applicationspecific integrated circuits, field programmable gate arrays, servers,networks, digital circuits, analog circuits, combinations thereof, orother now known or later developed devices for analyzing and processingdata. The processor 402 may implement a software program, such as codegenerated manually (i.e., programmed).

The computer system 400 may include a memory 404 that can communicatevia a bus 408. The memory 404 may be a main memory, a static memory, ora dynamic memory. The memory 404 may include, but is not limited tocomputer readable storage media such as various types of volatile andnon-volatile storage media, including but not limited to random accessmemory, read-only memory, programmable read-only memory, electricallyprogrammable read-only memory, electrically erasable read-only memory,flash memory, magnetic tape or disk, optical media and the like. In oneembodiment, the memory 404 includes a cache or random access memory forthe processor 402. In alternative embodiments, the memory 404 isseparate from the processor 402, such as a cache memory of a processor,the system memory, or other memory. The memory 404 may be an externalstorage device or database for storing data. Examples include a harddrive, compact disc (“CD”), digital video disc (“DVD”), memory card,memory stick, floppy disc, universal serial bus (“USB”) memory device,or any other device operative to store data. The memory 404 is operableto store instructions executable by the processor 402. The functions,acts or tasks illustrated in the figures or described herein may beperformed by the programmed processor 402 executing the instructions 412stored in the memory 404. The functions, acts or tasks are independentof the particular type of instructions set, storage media, processor orprocessing strategy and may be performed by software, hardware,integrated circuits, firm-ware, micro-code and the like, operating aloneor in combination. Likewise, processing strategies may includemultiprocessing, multitasking, parallel processing and the like.

As shown, the computer system 400 may further include a display unit414, such as a liquid crystal display (LCD), an organic light emittingdiode (OLED), a flat panel display, a solid state display, a cathode raytube (CRT), a projector, a printer or other now known or later developeddisplay device for outputting determined information. The display 414may act as an interface for the user to see the functioning of theprocessor 402, or specifically as an interface with the software storedin the memory 404 or in the drive unit 406.

Additionally, the computer system 400 may include an input device 416configured to allow a user to interact with any of the components ofsystem 400. The input device 416 may be a number pad, a keyboard, or acursor control device, such as a mouse, or a joystick, touch screendisplay, remote control or any other device operative to interact withthe system 400.

In a particular embodiment, as depicted in FIG. 4, the computer system400 may also include a disk or optical drive unit 406. The disk driveunit 406 may include a computer-readable medium 410 in which one or moresets of instructions 412, e.g. software, can be embedded. Further, theinstructions 412 may embody one or more of the methods or logic asdescribed herein. In a particular embodiment, the instructions 412 mayreside completely, or at least partially, within the memory 404 and/orwithin the processor 402 during execution by the computer system 400.The memory 404 and the processor 402 also may include computer-readablemedia as discussed above.

The present disclosure contemplates a computer-readable medium thatincludes instructions 412 or receives and executes instructions 412responsive to a propagated signal, so that a device connected to anetwork 420 can communicate voice, video, audio, images or any otherdata over the network 420. Further, the instructions 412 may betransmitted or received over the network 420 via a communicationinterface 418. The communication interface 418 may be a part of theprocessor 402 or may be a separate component. The communicationinterface 418 may be created in software or may be a physical connectionin hardware. The communication interface 418 is configured to connectwith a network 420, external media, the display 414, or any othercomponents in system 400, or combinations thereof. The connection withthe network 420 may be a physical connection, such as a wired Ethernetconnection or may be established wirelessly as discussed below.Likewise, the additional connections with other components of the system400 may be physical connections or may be established wirelessly.

The network 420 may include wired networks, wireless networks, orcombinations thereof. The wireless network may be a cellular telephonenetwork, an 802.11, 802.16, 802.20, or WiMax network. Further, thenetwork 420 may be a public network, such as the Internet, a privatenetwork, such as an intranet, or combinations thereof, and may utilize avariety of networking protocols now available or later developedincluding, but not limited to TCP/IP based networking protocols.

Embodiments of the subject matter and the functional operationsdescribed in this specification can be implemented in digital electroniccircuitry, or in computer software, firmware, or hardware, including thestructures disclosed in this specification and their structuralequivalents, or in combinations of one or more of them. Embodiments ofthe subject matter described in this specification can be implemented asone or more computer program products, i.e., one or more modules ofcomputer program instructions encoded on a computer readable medium forexecution by, or to control the operation of, data processing apparatus.While the computer-readable medium is shown to be a single medium, theterm “computer-readable medium” includes a single medium or multiplemedia, such as a centralized or distributed database, and/or associatedcaches and servers that store one or more sets of instructions. The term“computer-readable medium” shall also include any medium that is capableof storing, encoding or carrying a set of instructions for execution bya processor or that cause a computer system to perform any one or moreof the methods or operations disclosed herein. The computer readablemedium can be a machine-readable storage device, a machine-readablestorage substrate, a memory device, or a combination of one or more ofthem. The term “data processing apparatus” encompasses all apparatus,devices, and machines for processing data, including by way of example aprogrammable processor, a computer, or multiple processors or computers.The apparatus can include, in addition to hardware, code that creates anexecution environment for the computer program in question, e.g., codethat constitutes processor firmware, a protocol stack, a databasemanagement system, an operating system, or a combination of one or moreof them.

In a particular non-limiting, exemplary embodiment, thecomputer-readable medium can include a solid-state memory such as amemory card or other package that houses one or more non-volatileread-only memories. Further, the computer-readable medium can be arandom access memory or other volatile re-writable memory. Additionally,the computer-readable medium can include a magneto-optical or opticalmedium, such as a disk or tapes or other storage device to capturecarrier wave signals such as a signal communicated over a transmissionmedium. A digital file attachment to an e-mail or other self-containedinformation archive or set of archives may be considered a distributionmedium that is a tangible storage medium. Accordingly, the disclosure isconsidered to include any one or more of a computer-readable medium or adistribution medium and other equivalents and successor media, in whichdata or instructions may be stored.

In an alternative embodiment, dedicated hardware implementations, suchas application specific integrated circuits, programmable logic arraysand other hardware devices, can be constructed to implement one or moreof the methods described herein. Applications that may include theapparatus and systems of various embodiments can broadly include avariety of electronic and computer systems. One or more embodimentsdescribed herein may implement functions using two or more specificinterconnected hardware modules or devices with related control and datasignals that can be communicated between and through the modules, or asportions of an application-specific integrated circuit. Accordingly, thepresent system encompasses software, firmware, and hardwareimplementations.

In accordance with various embodiments of the present disclosure, themethods described herein may be implemented by software programsexecutable by a computer system. Further, in an exemplary, non-limitedembodiment, implementations can include distributed processing,component/object distributed processing, and parallel processing.Alternatively, virtual computer system processing can be constructed toimplement one or more of the methods or functionality as describedherein.

Although the present specification describes components and functionsthat may be implemented in particular embodiments with reference toparticular standards and protocols, the invention is not limited to suchstandards and protocols. For example, standards for Internet and otherpacket switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP,HTTPS) represent examples of the state of the art. Such standards areperiodically superseded by faster or more efficient equivalents havingessentially the same functions. Accordingly, replacement standards andprotocols having the same or similar functions as those disclosed hereinare considered equivalents thereof.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, and it can bedeployed in any form, including as a standalone program or as a module,component, subroutine, or other unit suitable for use in a computingenvironment. A computer program does not necessarily correspond to afile in a file system. A program can be stored in a portion of a filethat holds other programs or data (e.g., one or more scripts stored in amarkup language document), in a single file dedicated to the program inquestion, or in multiple coordinated files (e.g., files that store oneor more modules, sub programs, or portions of code). A computer programcan be deployed to be executed on one computer or on multiple computersthat are located at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andanyone or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read only memory ora random access memory or both. The essential elements of a computer area processor for performing instructions and one or more memory devicesfor storing instructions and data. Generally, a computer will alsoinclude, or be operatively coupled to receive data from or transfer datato, or both, one or more mass storage devices for storing data, e.g.,magnetic, magneto optical disks, or optical disks. However, a computerneed not have such devices. Moreover, a computer can be embedded inanother device, e.g., a mobile telephone, a personal digital assistant(PDA), a mobile audio player, a Global Positioning System (GPS)receiver, to name just a few. Computer readable media suitable forstoring computer program instructions and data include all forms ofnon-volatile memory, media and memory devices, including by way ofexample semiconductor memory devices, e.g., EPROM, EEPROM, and flashmemory devices; magnetic disks, e.g., internal hard disks or removabledisks; magneto optical disks; and CD ROM and DVD-ROM disks. Theprocessor and the memory can be supplemented by, or incorporated in,special purpose logic circuitry.

To provide for interaction with a user, embodiments of the subjectmatter described in this specification can be implemented on a devicehaving a display, e.g., a CRT (cathode ray tube) or LCD (liquid crystaldisplay) monitor, for displaying information to the user and a keyboardand a pointing device, e.g., a mouse or a trackball, by which the usercan provide input to the computer. Other kinds of devices can be used toprovide for interaction with a user as well; for example, feedbackprovided to the user can be any form of sensory feedback, e.g., visualfeedback, auditory feedback, or tactile feedback; and input from theuser can be received in any form, including acoustic, speech, or tactileinput.

Embodiments of the subject matter described in this specification can beimplemented in a computing system that includes a back end component,e.g., as a data server, or that includes a middleware component, e.g.,an application server, or that includes a front end component, e.g., aclient computer having a graphical user interface or a Web browserthrough which a user can interact with an implementation of the subjectmatter described in this specification, or any combination of one ormore such back end, middleware, or front end components. The componentsof the system can be interconnected by any form or medium of digitaldata communication, e.g., a communication network. Examples ofcommunication networks include a local area network (“LAN”) and a widearea network (“WAN”), e.g., the Internet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

The illustrations of the embodiments described herein are intended toprovide a general understanding of the structure of the variousembodiments. The illustrations are not intended to serve as a completedescription of all of the elements and features of apparatus and systemsthat utilize the structures or methods described herein. Many otherembodiments may be apparent to those of skill in the art upon reviewingthe disclosure. Other embodiments may be utilized and derived from thedisclosure, such that structural and logical substitutions and changesmay be made without departing from the scope of the disclosure.Additionally, the illustrations are merely representational and may notbe drawn to scale. Certain proportions within the illustrations may beexaggerated, while other proportions may be minimized. Accordingly, thedisclosure and the figures are to be regarded as illustrative ratherthan restrictive.

While this specification contains many specifics, these should not beconstrued as limitations on the scope of the invention or of what may beclaimed, but rather as descriptions of features specific to particularembodiments of the invention. Certain features that are described inthis specification in the context of separate embodiments can also beimplemented in combination in a single embodiment. Conversely, variousfeatures that are described in the context of a single embodiment canalso be implemented in multiple embodiments separately or in anysuitable sub-combination. Moreover, although features may be describedabove as acting in certain combinations and even initially claimed assuch, one or more features from a claimed combination can in some casesbe excised from the combination, and the claimed combination may bedirected to a sub-combination or variation of a sub-combination.

Similarly, while operations are depicted in the drawings and describedherein in a particular order, this should not be understood as requiringthat such operations be performed in the particular order shown or insequential order, or that all illustrated operations be performed, toachieve desirable results. In certain circumstances, multitasking andparallel processing may be advantageous. Moreover, the separation ofvarious system components in the embodiments described above should notbe understood as requiring such separation in all embodiments, and itshould be understood that the described program components and systemscan generally be integrated together in a single software product orpackaged into multiple software products.

One or more embodiments of the disclosure may be referred to herein,individually and/or collectively, by the term “invention” merely forconvenience and without intending to voluntarily limit the scope of thisapplication to any particular invention or inventive concept. Moreover,although specific embodiments have been illustrated and describedherein, it should be appreciated that any subsequent arrangementdesigned to achieve the same or similar purpose may be substituted forthe specific embodiments shown. This disclosure is intended to cover anyand all subsequent adaptations or variations of various embodiments.Combinations of the above embodiments, and other embodiments notspecifically described herein, will be apparent to those of skill in theart upon reviewing the description.

The Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72(b) and is submitted with the understanding that it will not be usedto interpret or limit the scope or meaning of the claims. In addition,in the foregoing Detailed Description, various features may be groupedtogether or described in a single embodiment for the purpose ofstreamlining the disclosure. This disclosure is not to be interpreted asreflecting an intention that the claimed embodiments require morefeatures than are expressly recited in each claim. Rather, as thefollowing claims reflect, inventive subject matter may be directed toless than all of the features of any of the disclosed embodiments. Thus,the following claims are incorporated into the Detailed Description,with each claim standing on its own as defining separately claimedsubject matter.

It is therefore intended that the foregoing detailed description beregarded as illustrative rather than limiting, and that it be understoodthat it is the following claims, including all equivalents, that areintended to define the spirit and scope of this invention.

1. A system including: a transaction processor configured to determine achange in a state of a database as a result of multiple requestsreceived from one or more sources; a message generator configured togenerate a change message including a first portion and a secondportion, wherein the first portion includes first data conveying thechange in the state of the database without identifying each of themultiple requests and the second portion includes second dataidentifying each of the multiple requests, and wherein the second dataincluded in the second portion is not included in the first portion; anda message transmitter configured to: transmit the first portion of thechange message to multiple recipients prior to transmission of thesecond portion, wherein receipt of only the first portion by any of themultiple recipients informs the recipient of the change in the state ofthe database; and transmit, after transmission of the first portion, thesecond portion to the multiple recipients as multiple packets, themultiple packets including: one or more encrypted packets each includingat least a part of the second data portion; and a last packet includinga decryption key to decrypt the one or more encrypted packets, whereintransmission of the last packet is timed to prevent access to the secondportion by the multiple recipients until each of the multiple packets isreceived by each of the multiple recipients thereby compressing a periodof time between individual notifications to the multiple recipients. 2.The system of claim 1, wherein the second data includes data thatallows, upon receipt of the second portion, a submitting participant ofa previously received but unsatisfied request to determine that theirrequest has been at least partially satisfied.
 3. The system of claim 1,wherein the second data includes an request-unique identifier for eachof the multiple requests that were at least partially satisfied.
 4. Thesystem of claim 3, wherein the second data further includes a quantityfor each of the multiple requests that were at least partiallysatisfied.
 5. The system of claim 1, wherein the second data excludesany information regarding an incoming request quantity or a pre-trademodification to allow only a submitting participant of a correspondingincoming request to comprehend an extent of which the incoming requestis satisfied.
 6. The system of claim 1, wherein the message transmitteris further operative to not transmit an individualized messageacknowledging the at least partial satisfaction of a previously receivedbut unsatisfied request solely to a submitting participant thereof. 7.The system of claim 1, wherein the first data includes at least a countof ones of the multiple requests that were at least partially satisfied.8. The system of claim 1, wherein the first data further indicatesaggregate transacted quantity and transaction price of each of one ormore financial products transacted as a result of an at least partialsatisfaction of an incoming request a previously received butunsatisfied request.
 9. The system of claim 1, wherein the first portionfurther includes data relating to a result of multiple changes in thestate of the database.
 10. The system of claim 1, wherein the databaseincludes an electronic order book that implements an electronicmarketplace.
 11. A method including: determining, by a processor achange in a state of a database as a result of multiple requestsreceived from one or more sources; generating, by the processor, amessage including a first portion and a second portion, wherein thefirst portion includes first data conveying the change in the state ofthe database without identifying each of the multiple requests and thesecond portion includes second data identifying each of the multiplerequests, and wherein the second data included in the second portion isnot included in the first portion; transmitting the first portion of themessage to multiple recipients prior to transmitting the second portion,wherein receipt of only the first portion by any of the multiplerecipients informs the recipient of the change in the state of thedatabase; and transmitting, after transmitting the first portion, thesecond portion to the multiple recipients as multiple packets, themultiple packets including: one or more encrypted packets each includingat least a part of the second portion; and a last packet including adecryption key to decrypt the one or more encrypted packets, whereintransmission of the last packet is timed to prevent access to the secondportion by the multiple recipients until each of the multiple packets isreceived by each of the multiple recipients thereby compressing a periodof time between individual notifications to the multiple recipients. 12.The method of claim 11, wherein the second data includes data thatallows, upon receipt of the second portion, a submitting participant ofa previously received but unsatisfied request to determine that theirrequest has been at least partially satisfied.
 13. The method of claim11, wherein the second data includes an request-unique identifier foreach of the multiple requests that were at least partially satisfied.14. The method of claim 13, wherein the second data further includes aquantity for each of the multiple requests that were at least partiallysatisfied.
 15. The method of claim 11, wherein the second data excludesany information regarding an incoming request quantity or a pre-trademodification to allow only a submitting participant of a correspondingincoming request to comprehend an extent of which the incoming requestis satisfied.
 16. The method of claim 11, wherein the first dataincludes at least a count of ones of the multiple requests that were atleast partially satisfied.
 17. The method of claim 11, wherein the firstdata further indicates aggregate transacted quantity and transactionprice of each of one or more financial products transacted as a resultof an at least partial satisfaction of an incoming request a previouslyreceived but unsatisfied request.
 18. The method of claim 11, whereinthe first portion further includes data relating to a result of multiplechanges in the state of the database.
 19. The method of claim 11,wherein the database includes an electronic order book that implementsan electronic marketplace.
 20. A system including: means for determininga change in a state of a database as a result of multiple requestsreceived from one or more sources; means for generating a messageincluding a first portion and a second portion, wherein the firstportion includes first data conveying the change in the state of thedatabase without identifying each of the multiple requests and thesecond portion includes second data identifying each of the multiplerequests, and wherein the second data included in the second portion isnot included in the first portion; means for transmitting the firstportion of the message to multiple recipients prior to transmission ofthe second portion, wherein receipt of only the first portion by any ofthe multiple recipients informs the recipient of the change in the stateof the database; and means for transmitting, after transmitting thefirst portion, the second portion to the multiple recipients as multiplepackets, the multiple packets including: one or more encrypted packetseach including at least a part of the second portion; and a last packetincluding a decryption key to decrypt the one or more encrypted packets,wherein transmission of the last packet is timed to prevent access tothe second portion by the multiple recipients until each of the multiplepackets is received by each of the multiple recipients therebycompressing a period of time between individual notifications to themultiple recipients.